package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.LhkRoom;
import org.apache.ibatis.annotations.Param;

/**
 * 房间信息管理Mapper接口
 * 
 * @author fzb
 * @date 2025-05-29
 */
public interface LhkRoomMapper 
{
    /**
     * 查询房间信息管理
     * 
     * @param roomId 房间信息管理主键
     * @return 房间信息管理
     */
    public LhkRoom selectLhkRoomByRoomId(Long roomId);

    /**
     * 查询房间信息管理列表
     * 
     * @param lhkRoom 房间信息管理
     * @return 房间信息管理集合
     */
    public List<LhkRoom> selectLhkRoomList(LhkRoom lhkRoom);

    /**
     * 新增房间信息管理
     * 
     * @param lhkRoom 房间信息管理
     * @return 结果
     */
    public int insertLhkRoom(LhkRoom lhkRoom);

    /**
     * 修改房间信息管理
     * 
     * @param lhkRoom 房间信息管理
     * @return 结果
     */
    public int updateLhkRoom(LhkRoom lhkRoom);

    // 根据房间号查询房间信息
    public LhkRoom selectLhkRoomByRoomNumber(String roomNumber);

    // 根据htotelId查询空闲的房间
    public List<LhkRoom> selectLhkRoomByHotelId(Long hotelId);

    // 根据htotelId查询所有的房间
    public List<LhkRoom> selectAllLhkRoomByHotelId(Long hotelId);

    // 根据htotelId、roomTypeId查询空闲的房间
    public List<LhkRoom> selectLhkRoomByHotelIdAndRoomTypeId(@Param("managerId") Long managerId,@Param("roomTypeId") Long roomTypeId);

    /**
     * 删除房间信息管理
     * 
     * @param roomId 房间信息管理主键
     * @return 结果
     */
    public int deleteLhkRoomByRoomId(Long roomId);

    /**
     * 批量删除房间信息管理
     * 
     * @param roomIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteLhkRoomByRoomIds(Long[] roomIds);
}
